Method and apparatus for interactive programming using captioning

ABSTRACT

A method and system for the creation of interactive programming using captions. A caption and program information extractor monitors a broadcast media signal having captions and program information encoded in the broadcast media signal. The captions and program information are extracted and stored in a content database. A moderator accesses the content database to retrieve captions and for a program specified by the program information. The moderator uses the services of a moderator server to generate interactive programming from the captions and the moderator&#39;s own comments. The interactive programming is transmitted to a plurality of viewers who interact with the interactive programming by entering viewer comments. The viewer comments are received by the moderator along with additional captions and new interactive programming is generated using the viewer comments, additional captions, and additional moderator commentary.

CROSS-REFERENCE TO RELATED APPLICATIONS

This patent application is a continuation application of U.S. patentapplication Ser. No. 13/099,258, filed May 2, 2011, entitled “METHOD ANDAPPARATUS FOR INTERACTIVE PROGRAMMING USING CAPTIONING”, now U.S. Pat.No. 8,402,504, issued Mar. 19, 2013, which is a continuation applicationof U.S. patent application Ser. No. 12/211,714, now U.S. Pat. No.7,937,740, issued May 3, 2011, entitled “METHOD AND APPARATUS FORINTERACTIVE PROGRAMMING USING CAPTIONING,” which is a continuationapplication of U.S. patent application Ser. No. 10/222,461, filed Aug.16, 2002, entitled “METHOD AND APPARATUS FOR INTERACTIVE PROGRAMMINGUSING CAPTIONING,” which is related to U.S. patent application Ser. No.11/323,575, filed on Dec. 29, 2005, entitled “METHOD AND APPARATUS FORINTERACTIVE VIDEO ON DEMAND” (which is a continuation application ofU.S. patent application Ser. No. 10/414,863, filed on Apr. 15, 2003,entitled “METHOD AND APPARATUS FOR INTERACTIVE VIDEO ON DEMAND”) andU.S. patent application Ser. No. 10/335,200, filed Jan. 18, 2006,entitled “METHOD AND APPARATUS FOR INTERNET-BASED INTERACTIVEPROGRAMMING” (which is continuation application of U.S. patentapplication Ser. No. 10/123,618, filed Apr. 15, 2002, entitled “METHODAND APPARATUS FOR INTERNET-BASED INTERACTIVE PROGRAMMING”), the contentsof all of which are incorporated by reference as if stated fully herein.

BACKGROUND OF THE INVENTION

This invention pertains generally to the field of interactiveprogramming and more specifically to creating interactive programmingusing captions from television programs.

Some television programs include captioning information created by thetelevision program broadcaster. The captions are encoded into thetelevision signal and broadcast to a viewer=s television where thecaptions are extracted from the television signal and displayed on theviewer=s television screen. The captions are intended for the hearingimpaired and contain textual representations of the auditory componentsof a television broadcast. While intended for the hearing-impaired,captions are used in a variety of situations. For example, the captionsmay be used in lieu of the audio components of the television signal sothat viewers can still watch television in environments where the noiselevels are very high, for example in a gymnasium.

The captioning for a television program include a textual representationof the entire contents of the television program since the captions areintended as a complete replacement for the audio components of atelevision program. This aspect of captions makes the captions usefulfor a variety of other purposes. For example, the captions can be usedto create transcriptions of a television program for archival purposes.In addition, the captions provide a compact representation of thecomplete television program. Finally, a description or metadata may begenerated for a television program using the caption information. Thesedifferent uses for captioning data make captioning an attractive sourceof information and content for people desiring to form special interestgroups or communities around particular television programs. Forexample, a commentator may want to create a talkshow to explore newsitems included in a televised news report. Such a talkshow would allowviewers and a commentator to fully explore news items within the contextof a news broadcast.

Therefore, a need exists for an interactive program generation toolallowing the creation of a talkshow from captioning data. Such a toolshould be lightweight, meaning it does not require a lot of processingresources to run, and should be able to generate interactive programmingfor a variety of different display devices. The present invention meetssuch a need.

SUMMARY OF THE INVENTION

In one aspect of the invention, a caption and program informationextractor monitors a broadcast media signal having captions and programinformation encoded in the broadcast media signal. A caption and programinformation extractor monitors a broadcast media signal having captionsand program information encoded in the broadcast media signal. Thecaptions and program information are extracted and stored in a contentdatabase. A moderator accesses the content database to retrieve captionsand for a program specified by the program information. The moderatoruses the services of a moderator server to generate interactiveprogramming from the captions and the moderator=s own comments. Theinteractive programming is transmitted to a plurality of viewers whointeract with the interactive programming by entering viewer comments.The viewer comments are received by the moderator along with additionalcaptions and new interactive programming is generated using the viewercomments, additional captions, and additional moderator commentary.

In one aspect of the invention, a method for generating an interactiveprogram for transmission over a communications network is provided. Acaption and program information extractor extracts captions and programinformation from a broadcast media signal and puts the captions andprogram information in a content database. A moderator server is coupledthrough the communications network to a moderator client and a pluralityof viewer clients. The moderator server receives moderator comments andedited viewer comments from the moderator client through thecommunications network and gets captions and program information fromthe content database. The moderator server then generates interactiveprogramming using the moderator comments, edited viewer comments,program information, and captions and transmits the interactiveprogramming to the viewer clients through the communications network.

In another aspect of the invention, the moderator server receives viewercomments from the viewer clients and transmits the viewer comments tothe moderator client through the communications network.

In another aspect of the invention, the communications network used is avirtual private network.

In another aspect of the invention, the viewers rate an interactiveprogram by further including an interactive program rating signal in theviewer comment signals. In response, a moderator may transmit a viewerexclusion signal specifying a viewer client to the moderator server andthe moderator server generates the interactive programming using theviewer exclusion signal to exclude viewer comments received from thespecific viewer client. In addition, the moderator may transmit a viewerinvitation signal corresponding to a specific viewer client to themoderator server and the moderator server generates viewer interactiveprogramming using the viewer invitation signal to include viewercomments from the specific viewer client on a virtual stage.

In another aspect of the invention, an apparatus is provided forgenerating an interactive program for transmission over a televisionbroadcast network and a communications network. The apparatus includes acontent database, a caption and program information extractor coupled toa broadcast media signal source and the content database, and amoderator server coupled to a moderator client, the content database,and the television broadcast network. The moderator server includes aprocessor and a memory operably coupled to the processor. Programinstructions stored in the memory are executed by the processor toimplement the features of an interactive programming generation system.The program instructions include: receiving moderator comments andedited viewer comments by the moderator server from the moderatorclient; getting captions and program information by the moderator serverfrom the content database; generating viewer interactive programmingusing the moderator comments, edited viewer comments, programinformation, and captions; and transmitting the interactive programmingby the moderator server to viewer televisions through the televisionbroadcast network.

In another aspect of the invention, the moderator server is furthercoupled to a plurality of viewer clients through the communicationsnetwork. The program instructions further include receiving viewercomments by the moderator server from viewer clients through thecommunications network and transmitting the viewer comments by themoderator server to the moderator client through the communicationsnetwork.

In another aspect of the invention, an apparatus for generating aninteractive program for transmission over a television broadcast networkis provided. The apparatus includes a content database and a caption andprogram information extractor coupled to a broadcast media signalsource. The caption and program information extractor extracts captionsand program information from a broadcast media signal and puts thecaptions and program information in the content database. A moderatorserver is coupled to a moderator client through the communicationsnetwork and coupled to the content database. The moderator server isfurther coupled to the television broadcast network. The moderatorserver includes programming instructions for generation of interactiveprogramming from the captions and program information. The moderatorserver receives moderator comments and edited viewer comments from themoderator client through the communications network and gets captionsand program information from the content database. The moderator serverthen generates interactive programming using the moderator comments,edited viewer comments, program information, and captions and transmitsthe interactive programming to viewer televisions through the televisionbroadcast network. In another aspect of the invention the moderatorserver is further coupled to a telephony network and viewers communicatewith the moderator server through the telephony network.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other features, aspects, and advantages of the presentinvention will become better understood with regard to the followingdescription, appended claims, and accompanying drawings where:

FIG. 1 is a conceptual diagram of a system for creating an interactiveprogram incorporating participant interactions in accordance with anexemplary embodiment of the present invention;

FIG. 2 is a deployment diagram of a system for creating an interactiveprogram in accordance with an exemplary embodiment of the presentinvention;

FIG. 3 is a sequence diagram of the operations within a system forcreating an interactive program in accordance with an exemplaryembodiment of the present invention;

FIG. 4 is a screen capture of a moderator=s interface used to controlgeneration of an interactive program in accordance with an exemplaryembodiment of the present invention;

FIG. 5 is a screen capture of a viewer=s interface used to view andinteract with an interactive program in accordance with an exemplaryembodiment of the present invention;

FIG. 6 is a diagram depicting a process for receiving viewer reactionsto an interactive program and calculating an audience approval systemrating for the interactive program in accordance with an exemplaryembodiment of the present invention;

FIG. 7 is a diagram depicting the ways in which a moderator may interactwith a system for creating an interactive program in accordance with anexemplary embodiment of the present invention;

FIG. 8 is a use case diagram depicting ways in which a viewer mayinteract with a system for creating an interactive program in accordancewith an exemplary embodiment of the present invention;

FIG. 9 is a Web site diagram of an interactive program creation systemin accordance with an exemplary embodiment of the present invention;

FIG. 10 is a screen capture of an edit profile viewer interface inaccordance with an exemplary embodiment of the present invention;

FIG. 11 is a screen capture of a hub viewer interface in accordance withan exemplary embodiment of the present invention;

FIG. 12 is a screen capture of a program guide viewer interface inaccordance with an exemplary embodiment of the present invention;

FIG. 13 is a screen capture of an interactive program archive viewerinterface in accordance with an exemplary embodiment of the presentinvention;

FIG. 14 is a screen capture of a moderator interface for an interactiveprogram authoring tool in accordance with an exemplary embodiment of thepresent invention;

FIG. 15 is a screen capture of a moderator interface for an interactiveprogram reporting tool in accordance with an exemplary embodiment of thepresent invention;

FIG. 16 is a screen capture of a moderator interface for a participantinteraction report generated in accordance with an exemplary embodimentof the present invention;

FIG. 17 is a screen capture of a moderator interface for an advertisingreport generated in accordance with an exemplary embodiment of thepresent invention;

FIG. 18 is a database entity relation diagram for a moderator databasein accordance with an exemplary embodiment of the present invention;

FIG. 19 is a screen capture of a viewer interface for a non-moderatorbased interactive program associated with a broadcast in accordance withan exemplary embodiment of the present invention;

FIG. 20 is a screen capture of a viewer interface for a broadcastprogram guide in accordance with an exemplary embodiment of the presentinvention;

FIG. 21 is a screen capture of a viewer interface for an interactiveprogram incorporating Web content in accordance with an exemplaryembodiment of the present invention;

FIG. 22 is a screen capture of a viewer interface for an interactiveprogram incorporating Web content in accordance with another exemplaryembodiment of the present invention;

FIG. 23 is a screen capture of a viewer interface for a facility tomanage a viewer=s personal favorite interactive programs in accordancewith an exemplary embodiment of the present invention;

FIG. 24 is a screen capture of a viewer interface for a facility tosuggest programs to a viewer in accordance with an exemplary embodimentof the present invention;

FIG. 25 is a deployment diagram of a process for conversion and deliveryof interactive programs via an interactive television network inaccordance with an exemplary embodiment of the present invention;

FIG. 26 is a hardware architecture diagram of a computing devicesuitable for use as a moderator server host in accordance with anexemplary embodiment of the present invention;

FIG. 27 is a collaboration diagram depicting an interactive programminggeneration process in accordance with an exemplary embodiment of thepresent invention;

FIG. 28 is a screen capture of an interactive program home viewerinterface in accordance with an exemplary embodiment of the presentinvention;

FIG. 29 is a screen capture of an interactive program system log-ininterface in accordance with an exemplary embodiment of the presentinvention;

FIG. 30 is a process flow diagram of an interactive program generationprocess in accordance with an exemplary embodiment of the presentinvention;

FIG. 31 is a process flow diagram of an interactive program reportgeneration process in accordance with an exemplary embodiment of thepresent invention;

FIG. 32 is a process flow diagram of a viewer notification process inaccordance with an exemplary embodiment of the present invention;

FIG. 33 is a deployment diagram of a locally hosted moderator server inaccordance with an exemplary embodiment of the present invention;

FIG. 34 is a participant question filtering moderator interface inaccordance with an exemplary embodiment of the present invention;

FIG. 35 is an illustration of the operation of a participant questionfiltering facility in accordance with an exemplary embodiment of thepresent invention;

FIG. 36 is a process flow diagram of a participant question filterprocess in accordance with an embodiment of the present invention;

FIG. 37 is a deployment diagram for a telephony system for delivery ofan interactive program in accordance with an embodiment of the presentinvention;

FIG. 38 is a sequence diagram for a telephony process as used by atelephony system for delivery of an interactive program in accordancewith an embodiment of the present invention;

FIG. 39 is a screen capture of an interactive program authoring wizardin accordance with an exemplary embodiment of the present invention;

FIG. 40 is a block diagram of a system for extracting closed captioningfrom a broadcast signal in accordance with an exemplary embodiment ofthe present invention;

FIG. 41 is a sequence diagram of an interactive programming system inaccordance with an exemplary embodiment of the present invention;

FIG. 42 is a sequence diagram of a key word or phrase to link conversionsystem in accordance with an exemplary embodiment of the presentinvention;

FIG. 43 is a process flow diagram of a key word or phrase to linkconversion process in accordance with an exemplary embodiment of thepresent invention; and

FIG. 44 is a process flow diagram of a program information and captionextraction process in accordance with an exemplary embodiment of thepresent invention.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1 is a conceptual diagram of a system for creating an interactiveprogram incorporating participant interactions in accordance with anexemplary embodiment of the present invention. A moderator 100 hosts aninteractive program, such as a broadcast program with a talk showformat, that is transmitted to an audience having a plurality of viewers102. The interactive program takes place on a virtual stage 104 wherethe moderator generates interactive programming for transmission to theviewers. The moderator transmits the interactive program 106 to theviewers. The viewers may passively watch the interactive program or maybecome active participants by generating their own comments 108 that aretransmitted back to the moderator. The moderator edits or filters theparticipant comments and retransmits the edited participant comments aspart of the interactive program. The viewers may communicate with eachother during the interactive program by exchanging audience interactivemessages 110 between themselves.

The moderator controls the content of the interactive program in avariety of ways. The moderator introduces the initial topic or contentfor audience interaction. For example, the moderator may introduce atopical event such as a news story and then ask for participantcomments. The moderator may also use previously prepared content such asa non-interactive program that is transmitted to the audience in orderto elicit audience member responses and engage viewers. The moderatorcan invite virtual guests 112 from the audience onto the virtual stage.While on the virtual stage, the virtual guests exchange interactivemessages directly with the moderator rather than with other audiencemembers or participants. The moderator may also exclude a participant orviewer from the audience. Additionally, the moderator may generateadditional interactive programming for use by the audience such as pollsso that the audience can participate in the interactive program byselecting responses to a question from a list of answers. The results ofthe participant responses are aggregated for inclusion in theinteractive program.

In one system for creating an interactive program incorporatingparticipant interactions in accordance with an exemplary embodiment ofthe present invention, the interactive programs are talk shows hosted byindependent moderators and delivered to an audience via the Internet.This system allows a moderator to be recognized as an expert orrespected voice in a particular field while building a community ofviewer participants interested in that particular field. The systemallows the moderator to create a controlled and moderated environmentwhere the moderator directs the flow of information and has completecontrol over the medium. The system is cost-effective because no specialhardware or training is needed to operate the system. The systemfeatures a customizable Web-based interface for moderators and viewersto use in creating customized collaborative interactive programs.

FIG. 2 is a deployment diagram of a system for creating an interactiveprogram incorporating participant interactions in accordance with anexemplary embodiment of the present invention. A moderator 100 transmitsan interactive program to a plurality of viewers, as exemplified byviewers 200 a and 200 b, via a communications network 202 such as theInternet. The moderator uses a moderator client 204 to transmitmoderator signals over communications link 206 and communications link208 to a moderator server 210. The moderator server uses the moderatorsignals to generate an interactive program that is transmitted overcommunication link 208 and communications links 212 a and 212 b to aplurality of viewer clients as exemplified by viewer clients 214 a and214 b. The viewers become participants by responding to the interactiveprogram by generating and transmitting to the moderator server aplurality of participant comment signals using the viewer clients. Theparticipant comment signals encode the participants=commentary about theinteractive program. The moderator server receives the participantcomment signals and retransmits them to the moderator client where themoderator edits the participant comment signals. The moderator generatesnew moderator signals that are transmitted to the moderator server alongwith the edited participant comment signals. The moderator server usesthe moderator signals and the edited user comment signals to generateadditional interactive program signals that are transmitted to theviewers=clients. The process of receiving participant comment signals,editing the user comment signals, and generating new interactive programsignals is repetitively performed in order to generate an interactiveprogram incorporating viewer interactions.

In a system for creating an interactive program incorporating viewerinteractions in accordance with an exemplary embodiment of the presentinvention, the moderator server is operably coupled to content server216 via a communications link 218. The content server hosts a contentsource such as content database 220 including content suitable forbroadcast by the moderator server. Such content may include pastbroadcast programs that the moderator is using as a topic for furtherdiscussion within the audience. The moderator instructs the moderatorserver to request and receive content signals from the content serverand the moderator server generates an interactive program including thecontent signals. In this way, non-interactive content may be enhancedwith an interactive component thus leveraging non-interactive content bycreating an interactive program using content without an interactivecomponent. In another embodiment of enhanced content, the content issynchronized with the interactive component and the content istransmitted to the viewer client from a server other than the moderatorserver in a program synchronous fashion.

In a system for creating an interactive program incorporating viewerinteractions in accordance with an exemplary embodiment of the presentinvention, the moderator server hosts software facilities for themoderator to use in generating an interactive program. The moderatorserver is operably coupled to a moderator database 230 includingmoderator information describing the type of interactive program themoderator produces and the moderator=s interactive program broadcastschedule. The moderator information may be used to automaticallygenerate a dynamic programming guide thus helping viewers find themoderator=s interactive program. In addition, the moderator serverrecords viewer interaction data describing the amount, timing, and typeof viewer interactions with the moderator=s produced interactiveprogramming. The moderator may access the viewer interaction data togenerate reports regarding the moderator=s interactive programming.

In a system for creating an interactive program incorporating viewerinteractions in accordance with an exemplary embodiment of the presentinvention, the moderator server hosts a viewer database 232 includingviewer profile information. Viewer profile information includesinformation about viewer preferences and viewer notification requests.The viewer preferences are used by the moderator server to suggestinteractive programming generated by a moderator which may match theviewer=s stated preferences. The viewer notification requests are usedby the moderator server to generate viewer notifications that aretransmitted to a viewer in order to notify a viewer when a specificinteractive program is about to be broadcast.

In one embodiment of a viewer notification generation process inaccordance with the present invention, the privacy of the viewer isprotected by not allowing the moderator access to viewer profiles. Forexample, the moderator may initiate a notification process but themoderator is never allowed to see to which viewers the notifications aresent. In addition, any viewership reports generated on behalf of amoderator use aggregate data for the viewers so that theviewers=identifications are not associated with the individualviewership reports.

In a system for creating an interactive program incorporating viewerinteractions in accordance with an exemplary embodiment of the presentinvention, the audience and moderator comment on a broadcast programover which the moderator has minimal control. In this embodiment, abroadcaster 222 transmits a broadcast media signal 224 received by aviewer=s broadcast media receiver 226 and a moderator=s broadcast mediareceiver 228. In this embodiment, the moderator and the audience watchthe broadcast program and exchange commentary about the broadcastprogram over the communications network as described above. In this way,non-interactive programming can be supplemented with an interactivecomponent. Exemplary broadcast programs include broadcasts of real-timeevents, such as sporting events or breaking news stories, andpre-recorded programming such entertainment programs or documentaries.

FIG. 3 is a sequence diagram of a process within a system for creatingan interactive program incorporating viewer interactions in accordancewith an exemplary embodiment of the present invention. A moderatorserver 210 receives participant comments 300 a and 300 b from aplurality of viewer clients as exemplified by viewer clients 212 a and212 b. The moderator server transmits the participant comments, 300 aand 300 b, to a moderator client 204. A moderator uses the moderatorclient to edit (302) the participant comments and generate (304)moderator comments. The edited participant comments and the moderatorcomments 306 are transmitted to the moderator server along with othermoderator control signals generated by the moderator such as a viewerinvitation signal for indicating a viewer to invite to a virtual stageor a viewer exclusion signal for excluding a viewer that is not behavingproperly. The moderator server uses the moderator comments and theedited participant comments to generate (308) viewer interactiveprogramming, 310 a and 310 b, that is transmitted to the plurality ofviewer clients and moderator interactive programming 312 that istransmitted to the moderator client. The process is repeatedindefinitely to generate an interactive program with the plurality ofviewers interacting with the viewer interactive programming and themoderator using the moderator interactive programming to moderate thegeneration process.

In one embodiment of a system for creating an interactive program inaccordance with an exemplary embodiment of the present invention, theinteractive programming generated by the moderator server is stored in amoderator database (for example moderator database 230 of FIG. 2) forarchival purposes. The interactive programming can be indexed andcataloged for generation of an archive listing describing the archivedinteractive programming. A viewer can then request archived interactiveprogramming for viewing at a later time for “on-demand” viewing.

In one embodiment of a system for creating an interactive program inaccordance with an exemplary embodiment of the present invention, aviewer can initiate the creation of an archive for an interactiveprogram. As the interactive program is produced and transmitted to theviewer, the interactive program signals are stored for the viewer=s ownuse. For example, a viewer can initiate the creation of an archive for ashort period of time so that the viewer can leave the interactiveprogram and rejoin the interactive program and be able to view theportions of the interactive program that the viewer missed. As anotherexample, the viewer can create a personal archive of past interactiveprograms in a manner similar to a personal video recorder.

In another system for creating an interactive program in accordance withan exemplary embodiment of the present invention, the communicationsnetwork is the Internet and the viewer clients and a moderator clientare Web browsers. The moderator server receives moderator andparticipant comment signals in the form of POST requests and generatesthe interactive program as an interactive electronic document written ina document markup language such as Hyper Text Markup Language (HTML) oreXtensible Markup Language (XML) that is transmitted to the viewerclients. The viewer clients parse the electronic document and generateviewer displays using the instructions in the electronic document. Theviewers respond to the viewer displays by entering text and selectingelements from the viewer displays. These viewer interactions aretransmitted to the moderator server by the viewer=s clients insubsequent POST messages. The moderator receives a different set ofinteractive moderator electronic documents that implement a moderatoruser interface enabling the moderator to control the operations of themoderator server.

In one system for creating an interactive program in accordance with anexemplary embodiment of the present invention, the system is deployedusing the Microsoft7 TV platform which is a standards-based, client andserver software middleware system for deploying interactive programming.The platform includes a client software application hosted by aset-top-box and a server software application operably coupled by acommunications network. The client software application includes a Webbrowser that can be used much like a conventional Web browser and anapplication programming interface for building native applications thatare hosted by the set-top-box. The server includes several managementfunctions including t-commerce and client management applications.

In another system for creating an interactive program in accordance withan exemplary embodiment of the present invention, the interactiveprogramming generated by the moderator server further includes“click-through” style banner ads for selection by a viewer. If a viewerselects a click-through banner ad, the viewer=s interaction with thebanner ad is recorded in a moderator database in order to generateclick-through activity related to the interactive programming. Thebanner ads may come either from the moderator server or an ad server notaffiliated with the moderator server.

FIG. 37 is a deployment diagram for a telephony system for delivery ofan interactive program in accordance with an embodiment of the presentinvention. A previously described moderator server 210 is operablycoupled via a communications network 202 to previously described viewerclient 214 a. A viewer 200 a, views an interactive program by accessingthe moderator server using the viewer client. To participate, the vieweruses a telephone device 3700 to connect to a telephony agent 3702operably coupled to the moderator server via the communications network.In operation, the viewer uses the telephone to dial up the telephonyagent. The telephony agent receives audio signals and converts the audiosignals to text signals that are transmitted to the moderator server viathe communications network. In turn, the moderator server re-routes thetextual component signals of an interactive program to the telephonyagent. The telephony agent receives the textual component signals andconverts the textual component signals into audio signals fortransmission to the viewer via the telephone.

In another interactive program creation system in accordance with anembodiment of the present invention, a viewer downloads and installs acustom client plug-in that allows a viewer a built-in microphone on theviewer client. Using a control panel, participants direct theirquestions or comments to either the virtual stage or the audienceinteractive message area. The spoken words are digitized by the viewerclient, analyzed, translated into text form, and transmitted via thecommunications link to the moderator server. The question or commentthen appears in the interactive program. The plug-in allows viewers toparticipate in an interactive program in a traditional, voice-based wayif they choose to.

In another interactive program creation system in accordance with anembodiment of the present invention, the spoken words are not translatedto text. Instead, the digitized voice is transmitted directly over thecommunications link to the moderator server such as in Voice overInternet Protocol (VoIP) transmissions.

FIG. 38 is a sequence diagram for a telephony process as used by atelephony system for delivery of an interactive program in accordancewith an embodiment of the present invention. A viewer uses a telephonedevice 3700 to send participant voice signals to a telephony agent 3702.The telephony agent converts 3802 the participant voice signals to textin a speech-to-text conversion process. The textual participant comments3804 are transmitted to the moderator server. The textual participantcomments are used to generate 3806 viewer interactive programmingsignals 3808 in a to-be-described process. The moderator servertransmits the viewer interactive programming signals to the viewerclient and transmits a second set of viewer interactive programmingsignals 3810 to the telephony agent. The telephony agent converts (3812)the textual portions of the viewer interactive programming to signalsfor an audio version of the viewer interactive programming 3814 in atext to speech conversion process. In this way, a viewer can participatein an interactive program using a telephone device for the generation ofviewer interaction signals.

In another telephony process as used by a telephony system for deliveryof an interactive program in accordance with an embodiment of thepresent invention, the video components of the interactive program aredispensed with and the participant interacts with the textual componentsof the interactive program using the telephone device. In this way, aninteractive program can be created by a moderator with only textual oraudio and textual components that is accessible to a participant usingonly a telephone device.

FIG. 40 is a deployment diagram of a system for extracting closedcaptioning from a broadcast signal in accordance with an exemplaryembodiment of the present invention. A broadcaster 222 transmits abroadcast media signal 226 that is received by a caption and programinformation extractor 4000. The caption and program informationextractor includes programming instructions 4001 that identifycaptioning and program information encoded in the broadcast media signaland extracts the captions and program information for storage in adatabase. The broadcast media signal includes captioning information4002 encoded in the signal such as within line 21 of a vertical blankinginterval (VBI) of a television signal. The captioning information isencoded in the broadcast media signal by a broadcaster in order to servehearing-impaired viewers of the broadcast media signal. As such, thecaptioning information includes a transcription of the speech portion ofa broadcast program. For example, a talkshow with captioning may includea transcript of the questions asked by a host of a guest and theresponses of the guest to the host=s questions.

The captioning information is included as several text streams in thebroadcast media signal. In one embodiment of a broadcast media signal inaccordance with an exemplary embodiment of the present invention, thecaptioning information includes a field 1 4004 and a field 2 4006. Field1 includes a first captioning information 4008 and a second captioninginformation 4010 text stream. Field 2 includes a third captioninginformation 4012 and a fourth captioning information 4014 text string aswell as extended Data Service (XDS) information 4016 encoded in a seriesof packets. The fields are described in table 1a and table 1b below.

TABLE 1a Field 1 Packets Data Name* Field Channel Description CC1 1 1Primary Synchronous Caption Service CC2 1 2 Special Non-Synchronous UseCaptions T1 1 1 First Text Service T2 1 2 Second Text Service

TABLE 1b Field 2 Packets Data Name* Field Channel Description CC3 2 1Secondary Synchronous Caption Service CC4 2 2 Special Non-SynchronousUse Captions T3 2 1 Third Text Service T4 2 2 Fourth Text Service XDSextended Data Services

There are several different classes of XDS packets encapsulatinginformation about a broadcast program. For example, defined XDS packetclasses include Current Class (information about the current programsuch as the title, length, rating, elapsed time, audio services, captionservices, and aspect ratio), Future Class (the same information for anupcoming program), Channel Information Class (information such as thenetwork name, station call letters, native channel number and tapedelay), Miscellaneous Class (containing the time of day and the localtime zone) and Public Service Class (severe weather warnings). Inaddition, Reserved and Undefined Classes are set aside for futureexpansion and proprietary applications.

For each Class, there are two groups of similar packet types. Bit 6 isused as an indicator of these two groups. When bit 6 of the Typecharacter is set to 0 the packet only describes information relating tothe channel that carries the signal. This is known as an In-Band packet.When bit 6 of the Type character is set to 1, the packet only containsinformation for another channel. This is known as an Out-of-Band packet.

The Current Class includes a Program Identification Number (ScheduledStart Time) packet including four characters that define the programstart time and date relative to Coordinated Universal Time (UTC). Thisis non-character-based data so bit #6 is always set to one. The formatof the characters is identified in Table 2.

TABLE 2 Character B6 b5 b4 b3 B2 B1 b0 Minute 1 m5 m4 m3 m2 m1 m0 Hour 1D h4 h3 h2 h1 h0 Date 1 L d4 d3 d2 d1 d0 Month 1 Z T m3 m2 m1 m0

The minute field has a valid range of 0 to 59, the hour field from 0 to23, the date field from 1 to 31, the month field from 1 to 12. The “T”bit is used to indicate a program that is routinely tape delayed (formountain and pacific time zones). The D, L, and Z bits are ignored bythe decoder when processing this packet. (The same format utilizes thesebits for time setting.) The T bit is used to determine if an offset isnecessary because of local station tape delays. A separate packet of theChannel Information Class indicates the amount of tape delay used for agiven time zone. When all characters of this packet contain all Ones, itindicates the end of the current program. A change in received CurrentClass Program Identification Number is interpreted by XDS receivers asthe start of a new current program.

A Length/Time-in-Show packet is composed of 2, 4 or 6non-character-based informational characters. It is used to indicate thescheduled length of the program as well as the elapsed time for theprogram. The first two informational characters are used to indicate theprogram=s length in hours and minutes. The second two informationalcharacters show the current time elapsed by the program in hours andminutes. The final two informational characters extend the elapsed timecount with seconds. The informational characters are encoded asindicated in Table 3.

TABLE 3 Character B6 b5 b4 b3 B2 B1 b0 Length - (m) 1 m5 m4 m3 m2 m1 m0Length - (h) 1 h5 h4 h3 h2 h1 h0 ET - (m) 1 m5 m4 m3 m2 m1 m0 ET - (h) 1h5 h4 h3 h2 h1 h0 ET - (s) 1 s5 s4 s3 s2 s1 s0 Null 0 0 0 0 0 0 0

The minute second fields have a valid range of 0 to 59, and the hourfields from 0 to 63. The sixth character is a standard null.

The Program Name packet contains a variable number, 2 to 32, ofInformational characters that define the program title. Each characteris in the range of 20h to 7Fh. The variable size of this packet allowsfor efficient transmission of titles of any length.

A complete definition of a XDS packets may be found in RecommendedPractice for Line 21 Data Service, Electronics Industries Association,EIA-608 (drafts Oct. 12, 1992 and Jun. 17, 1993), the subject matter ofwhich is hereby incorporated by reference as if fully stated herein. Anexemplary device suitable for extraction of captions and XDS packetsfrom a television signal is an ATI-TV ISA television tuner sold by ATItechnologies Inc. of Markham, Ontario Canada. The device includessoftware for monitoring television signals and extracting captioning tocreate a program transcription.

The caption and program information extractor extracts the captioninginformation 4018 from the broadcast media signal along with programinformation 4020 from the concurrently transmitted XDS packets andstores the captioning information and program information in a contentdatabase 220 serviced by a content database server 4022. The contentdatabase server is coupled to the previously described content server216.

A moderator server 210 receives captioning information from the contentserver and transmits the captions to a moderator client 204 overcommunications link 208 and communications link 206. A moderator 100uses the moderator client to edit the captioning information and addsmoderator commentary to the edited captioning information thus creatingmoderated programming content using the captioning information as sourcematerial. The moderator client transmits the edited captioninginformation and moderator commentary to the moderator server where themoderator server creates interactive programming for transmission to aplurality of viewer clients, as exemplified by viewer client 214 a, viaa communications network 202 such as the Internet and communicationslink 212 a. A plurality of viewers, as exemplified by viewer 200 a, viewand interact with the interactive programming using a viewer client.

In one embodiment of a caption and program data extractor in accordancewith an exemplary embodiment of the present invention, other componentsof the broadcast media signal are extracted and stored in the contentdatabase. For example, the caption and program data extractor mayextract video frames from the broadcast media signal on either a regularor random interval and store the captured frames along with thecaptioning information and program information. As another example, thecaption and program data extractor may extract portions of an audiocomponent and store the portions in the content database. Theseadditional components of the broadcast media signal are associated withthe captioning and programming information in the content database sothat the additional components may be recalled and used to augment thecaptioning information when generating interactive programming.

In one system for extracting closed captioning from a broadcast signalin accordance with an exemplary embodiment of the present invention, theextracted captions are compressed before they are stored. As thecaptions are textual information, many compression tools may be used. Inone system, the compression tool used is the Lempel-Ziv-Oberhumer (LZO)compression tool authored by Markus Franz Xaver Johannes Oberhumer.Source code for the compression tool is available athttp://www.oberhumer.com/opensource/lzo/. LZO is a lossless blockcompression technique with decompression requiring no memory resources.As the decompression step does not require any memory resources,decompression may be performed on hosts with limited memory such as settop boxes used with televisions as displays.

FIG. 44 is a process flow diagram of a program information and captionextraction process in accordance with an exemplary embodiment of thepresent invention. A program information and caption extraction process4001 is hosted by a previously described program information and captionextractor 4000 (of FIG. 40). The program information and captionextraction process receives (4400) a broadcast media signal havingcaptions and program information as previously described. The programinformation and caption extraction process extracts (4402) the programinformation from the broadcast media signal and determines (4404) if theprogram information indicates that a new program is being broadcast. Ifso, the program information and caption extraction process creates(4406) a new database record (4408) for extracted captions using theprogram information and puts the program information into the newdatabase record. The program information and caption extraction processthen extracts (4410) the captions from the broadcast media signal andstores the captions in the new database record. The program informationand caption extraction process determines (4412) it should stopextracting captions. If not, the program information and captionextraction process continues receiving (4400) the broadcast media signallooking for programs and new captions to archive.

FIG. 41 is a sequence diagram of an interactive programming system inaccordance with an exemplary embodiment of the present invention. Amoderator uses a moderator client 204 to request and receive captions4100 from a content database server 4022 via a moderator server 210. Themoderator uses the moderator client to edit (4102) the captions and add(4104) commentary. The edited captions and commentary 4106 aretransmitted to the moderator server where they are used generate (4108)interactive programming for both a viewer 4110 and the moderator 4112. Aviewer interacts with the viewer interactive program by entering (4113)viewer comments 4114 using the viewer client. The viewer comments aretransmitted by the viewer client the moderator server that retransmitsthe viewer comments to the moderator client. The moderator clientrequests and receives additional captions 4118 from the content databaseserver via the moderator server. The moderator then edits (4122) thecaptions, edits (4124) the viewer comments, and adds (4126) commentaryto create new edited captions, viewer comments, and commentary 4128 thatare transmitted to the moderator server. The moderator server uses theedited captions, viewer comments, and commentary to generate (4130) newviewer interactive programming 4132 and moderator interactiveprogramming 4134 for transmission to the viewer client and the moderatorclient respectively. The process of combining viewer comments, newcaptions, and moderator commentary to generate interactive programmingis continuously repeated to generate a continuous stream of interactiveprogramming.

In one interactive programming system in accordance with an exemplaryembodiment of the present invention, the captioning information iscompressed as previously described. In addition, the interactiveprogramming for both commentator and the viewer is compressed beforetransmission.

Referring again to FIG. 40, in one interactive programming system inaccordance with an exemplary embodiment of the present invention,broadcast interactive programming 4018 is encoded for broadcasttransmission in the VBI of a television signal. Textual components of aninteractive program are generated as previously described and placedinto a television VBI signal as captioning information. The televisionsignal may include a video signal for a television program that thecommentator and the viewers want to discuss. The television signalincluding the interactive programming is transmitted to the viewers andthe viewers=television, as exemplified by broadcast interactiveprogramming receiver 4020, decodes and displays the textual componentsof the interactive programming. Viewers interact with the interactiveprogramming using a back channel 4022, such as through a communicationsnetwork 202, or a previously described telephony link.

Links to other resources are encoded in the television signal in theform of Uniform Resource Locators (URLs) which are stringrepresentations of locations for use in identifying abstract or physicalresources on the Internet. URLs can be transmitted in the T-2 serviceencoded in line 21 of the VBI, and may be used by receiving devices topermit the linking of television programs with related content on theInternet so that the content from these Internet services may becombined, mixed or shared by the receiving device.

URLs are transmitted in T-2 by using the following general format:

<url>[attr1:val1][attr2:val2] . . . [attrn:valn][checksum]

The URL is enclosed in angle brackets, followed by zero or more pairs ofattributes and values in square brackets, which are then followed by achecksum in square brackets. Four attributes are defined in thisstandard: “type”, “name”, “expires”, and “script”. The “type” attributeindicates what sort of content the URL is associated with (for example,content related to the current television program or with the broadcastnetwork). The type can be any one of the values in table 4:

TABLE 4 Value URL is associated with PROGRAM the current program NETWORKthe broadcast network STATION the local station SPONSOR a commercialsponsor or advertiser for the current program OPERATOR the service(e.g., cable or satellite) operator

The “name” attribute indicates a human-readable title for the resourceand can be any string of characters between 20h and 7Eh except squarebrackets (5Bh and 5Dh) and angle brackets (3Ch and 3Eh). The “expires”attribute enables an author to specify the last date the URL is valid,after which the URL should be ignored by the receiving device. The“script” attribute enables the triggering of specific actions within thecontent referenced by the URL. The value specifies a script fragmentthat is to be sent to the page and executed; the scripting language iscompatible with ECMA-262 (for example, “JavaScriptJ” or “JScriptJ”). Thescript is executed when the content referenced by the URL is displayedon the receiving device. If that content is currently being displayed,the script fragment is immediately executed. The context for the scriptis the root document corresponding to the URL specified.

FIG. 42 is a sequence diagram of an interactive programming generationprocess wherein the interactive programming includes links to otherresources in accordance with an exemplary embodiment of the presentinvention. Links may be added to an interactive program for use by aviewer for a variety of purposes. A link may provide access to atCommerce site where viewers use their televisions and set-top boxes tobrowse products for sale. Another use of a link is to provide additionalinformation for a viewer while watching an interactive program. Forexample, if the interactive program has a talkshow format, the links maybe used to direct a viewer to a Web site where additional informationabout a talkshow topic is located. As another example, a link mayprovide access to other related interactive programming. A moderatoruses a moderator client 204 to transmit key words or phrases associatedto links 4200 to the moderator server. The key words or phrases will beused to search the captions by the moderator server. When a key word orphrase is found, the moderator server generates a link for inclusion ina VBI. The moderator server receives captions 4202 from a contentdatabase server 4022 and retransmits the captions to the moderatorclient. The moderator edits (4204) the captions and adds (4206)commentary to the captions. The edited captions and commentary 4208 aretransmitted by the moderator client to the moderator server. Themoderator server generates 4210 an interactive program from the editedcaptions and moderator commentary. The moderator server then adds 4212links to the interactive programming 4214 using the key words or phrasesand associated links before the interactive programming is transmittedto a viewer=s broadcast interactive program receiver 4020.

FIG. 43 is a process flow diagram of a dynamic link creation process inaccordance with an exemplary embodiment of the present invention. Linksare added to an interactive program dynamically without directintervention or editing by the moderator. The moderator supplies keywords or phrases that are associated with links as the contextualframework associating textual information in the interactive programwith other resources. A dynamic link creation process 4212 receives(4302) input interactive programming 4304 including textual components.The dynamic link creation process searches (4306) the textual componentsof the interactive programming for key words or phrases 4200 supplied bya commentator. If a key word or phrase is found (4308), the dynamic linkcreation process creates (4310) a link and adds the link (4312) to theinteractive programming for transmission to a viewer. The dynamic linkcreation process continues processing (4314) new interactive programmingas the interactive programming is created.

FIG. 27 is a collaboration diagram depicting an interactive programminggeneration process in accordance with an exemplary embodiment of thepresent invention. A moderator server 210 includes a virtual stagecontent engine 2702 and an audience content engine 2704. These contentengines generate content, such as the content for a chat room, andtransmit the content to an interactive program generator 2706 includedin the moderator server. The virtual stage content engine receivespreviously described moderator comments and edited participant comments306 from the previously described moderator client. The virtual stagecontent engine uses the moderator=s comments and edited participantcomments to generate moderator content for a to-be-described stagesection or area in an interactive program. The audience content enginereceives previously described participant comments, 300 a and 300 b,from the previously described viewer clients, 212 a and 212 b, editedparticipant comments and moderator comments 306 from the moderatorclient, and uses the participant comments, edited participant comments,and moderator comments to generate audience content for ato-be-described audience section or area in an interactive program.

The interactive program generator receives the moderator content and theaudience content and uses the content to generate enhanced interactiveprogramming. The interactive programming includes viewer interactiveprogramming 310 a and 310 b that is transmitted to the viewer clientsfor display and use of the viewers. The interactive programming furtherincludes moderator interactive programming 312 transmitted to themoderator for viewing and use by the moderator. The cycle of receivingparticipant, moderator and edited participant comments and using thecomments to generate interactive programming for transmission to themoderator and viewer is repeated indefinitely to create a continuousinteractive program.

In an interactive program creation system in accordance with anexemplary embodiment of the present invention, content 2708 from apreviously described content server 216 is received by the interactiveprogram generator and the content is included in the generatedinteractive programming. In an interactive program creation system inaccordance with another exemplary embodiment of the present invention, avirtual guest client 2710 transmits virtual guest comments 2712 to thevirtual stage content engine for inclusion in the virtual stage contentgenerated by the virtual content engine.

In an interactive program creation system in accordance with anotherexemplary embodiment of the present invention, the moderator,participant, and guest interactive messages are chat messages and thevirtual stage and audience content engines are chat engines. Thetext-based output from the chat engines is used by the interactiveprogram generator generate interactive programming including electronicdocuments, such as transcripts, composed in a document markup languagesuch as HTML or XML.

FIG. 30 is a process flow diagram of an interactive program generationprocess in accordance with an exemplary embodiment of the presentinvention. A moderator server receives (3000) moderator commentary andedited participant commentary 3001 from a moderator. The moderatorserver receives (3002) participant commentary 3003 from viewers in anaudience. The moderator server uses the participant commentary, themoderator commentary, and the edited participant commentary to generate(3004) viewer interactive programming 3006 for transmission to viewersin the audience. The moderator server uses the moderator commentary andthe edited participant commentary to generate (3008) moderatorinteractive programming 3010 for transmission to the moderator. Themoderator then transmits (3012) the moderator interactive programming tothe moderator and the viewer interactive programming to the viewers inan audience. The process is repeated (3014) continuously to generate aninteractive program.

FIG. 4 is a screen capture of a moderator interface used to controlgeneration of an interactive program in accordance with an exemplaryembodiment of the present invention. A moderator=s interface 400includes a trademark field 402 for display of a moderator serveroperator=s trademark, in this screen capture, talkshow.com^(SM) is aservice mark of Lakeview Capital Trust, a Pennsylvania Trust. Themoderator interface has a moderator identification field 404 for thedisplay of the moderator=s identification and an interactive programidentifier field 406 for identification of the interactive program beingproduced by the moderator.

In one embodiment of a moderator server in accordance with the presentinvention, the moderator server is operated in an application serviceprovider (ASP) mode. In this mode, the moderator server is used tocreate a “private label” interactive program creation system. In thismode, the moderator server provides services that an operator can embedinto another system such that a viewer perceives the interactive programcreation system as owned by individual operators. In some instances anindicia of source, such as a “powered by” notice, is included in theinteractive program creation system.

The moderator=s interface is broken up into several operationalsections. A “stage interaction” section 410 displays the moderator=sdirect interaction with a virtual guest on a virtual stage. The stageinteraction section includes a plurality of fields for display ofvirtual guests=previous questions as exemplified by previous questionfield 412. For each answered virtual guest question, a moderatorresponse field, as exemplified by moderator response field 414, displaysthe moderator=s response to the virtual guest=s previous question. Thestage interaction section further includes a current question field 416for display of a virtual guest=s current question. A moderator uses amoderator text entry section 418 to enter responses to the currentvirtual guest question.

An audience interaction section 420 displays audience comments. Theaudience interaction comments are comments made by participants to otherparticipants in the audience.

A moderator uses a status section 423 to monitor the progress of theinteractive program. The moderator invites audience members to thevirtual stage to be virtual guests using an “invite to stage” selector426. The moderator can select a viewer to invite onto the virtual stageby using a pull down menu of viewer names and selecting a viewer toinvite. Once a viewer is invited to the virtual stage, the viewer=sinteractive messages are displayed in the stage interaction section andnot in the audience interaction section. The moderator can also excludea participant by selecting a participant from a “kick user out” pulldown menu 428. Once excluded, the moderator server removes the excludedparticipant=s comment signals from the plurality of participant commentsignals edited by the moderator and used by the moderator server togenerate the interactive program. In this way, the moderator exercisesdirect control over the participants participating in the interactiveprogram.

In another interactive program creation system, the participant=sexchange video clips and files directly with each other in apeer-to-peer relationship. In this mode, the moderator server is notdirectly involved in the message exchanges occurring between audiencemembers interacting with each other.

The status section further includes an audience approval systemindicator 430 for indicating to the moderator how the audience feelsabout the progress of the show. Viewer responses are aggregated in ato-be-described process and displayed to the moderator as a coloredindicator and as a numerical value. A moderator uses the audience membercounter field 432 and pull down menu to determine the number andidentification of the viewers receiving the transmitted interactiveprogram. The status section further includes an elapsed time field 433for display of the elapsed time of the interactive program.

An audience question section 434 displays an audience question 436 thatthe moderator may answer by selecting an answer question button 438 ordelete by selecting a delete question button 440. The moderator can geta new audience question by selecting the update button 442.

A polls section 444 includes a poll question display field 446 fordisplay of a current poll question and a poll results display field 448for display of viewers=responses to the poll. The moderator selects anew poll button 450 to enter a new poll question whenever the moderatorfeels that a new poll should be created.

FIG. 34 is a participant question filtering moderator interface inaccordance with an exemplary embodiment of the present invention. Aparticipant question filtering interface 3400 includes a keyword entryfield 3402 for entry of keywords that the moderator would like to haveincluded by viewers in questions sent to the moderator. Questions withthe entered keywords will be given higher relevance, and thus priority,than questions without the keywords. The participant question filteringinterface further includes an “exclude” entry field 3404 for words whichthe moderator does not want to see in questions, such as expletives orvulgarities. Any participant question having an excluded word will bedeleted from a participant question queue managed by the moderator. Theparticipant question filtering interface further includes a facility forsetting a relevance threshold 3406. A moderator uses the relevancethreshold setting facility to establish a threshold relevance value thata question should have before the question will be added to the questionqueue.

FIG. 35 is an illustration of the operation of a participant questionfiltering facility in accordance with an exemplary embodiment of thepresent invention. A participant question 3500 is processed in aparticipant question filter 3502 and assigned a relevance value 3504. Amoderator uses the relevance value to determine which participantquestions the moderator would like to answer. If a participant question3506 has an excluded word, then the relevance of the participantquestion is assigned a value 3508 of 0 and deleted 3510 from aparticipant question queue. In one embodiment of a participant questionfilter in accordance with the present invention, the participantquestion is deleted if the participant question=s relevance value doesnot exceed the threshold relevance value set by the moderator. Amoderator uses the participant question filtering facility in order toprocess large numbers of participant questions without becomingoverwhelmed and to filter out offensive participant questions. Thisallows the moderator to automatically moderate an interactive programhaving a large number of participants, thus facilitating scalabilityfrom few participants to many participants.

FIG. 36 is a process flow diagram of a participant question filterprocess in accordance with an embodiment of the present invention. Thefilter process receives (3600) a participant question 3601. The filterprocess attempts to match (3602) words in the participant question withthe moderator=s excluded words 3603. If it is determined (3604) that anexcluded word is in the question, the relevance of the participantquestion is set (3606) to a value below the moderator=s previouslydescribed threshold relevance value 3607.

If no excluded words are found in the participant question, the filterprocess determines (3608) the relevance of the participant question bymatching the moderator=s keywords 3609 to the words in the participantquestion. If it is determined (3610) that the relevance of theparticipant question exceeds the threshold relevance value, then theparticipant question is added (3612) to a participant question queue3614.

In an embodiment of a filtering process in accordance with the presentinvention, keywords and excluded words are matched to the participantquestion using approximate string matching techniques in order todetermine the relevance value of a participant question includingmisspelled keywords or excluded words.

FIG. 5 is a screen capture of a viewer interface used to view andinteract with an interactive program in accordance with an exemplaryembodiment of the present invention. The viewer interface 500 includesan interactive program identifier field 502 for display of the name ofthe interactive program being viewed by the viewer. A content displaysection 504 is included for display of a content portion of theinteractive program. The content of an interactive program may betext-based, audio-based, or video-based in any combination dependent onthe capabilities and desires of the moderator. An audience interactivemessage section 506 is included for display of audience interactivemessages that the audience is exchanging amongst themselves. Aninteractive message entry field 508 is used by the viewer to enterinteractive messages for display in the audience interactive messagesection and to interact with the moderator when the moderator invitesthe viewer onto the virtual stage.

A poll section 510 displays a poll question 511 asked by the moderatorof the viewers. The poll section includes a plurality of responsebuttons, exemplified by response buttons 512 and 514, selectable by theviewer to indicate the viewer=s response to the poll. The viewer selectsan answer to the poll question by selecting one of the response buttonsand then selects the “Vote!” button 516 to register the viewer=s pollanswer with the moderator server. The viewer interface further includessections for banner advertising 518 and for placement of a trademark orservice mark 520 to identify the operator of the moderator server. Byallowing banner adds, the moderator server allows a moderator to collectrevenue from t-commerce interactions with the moderator=s hostedinteractive program.

In another embodiment of an interactive program creation system inaccordance with the present invention, a poll is created using aplurality of participant questions for selection by participants. Theparticipant question from the plurality of participant questionsreceiving the most participant selections is selected for submission tothe moderator.

Referring again to FIG. 4, a current audience approval system ratingfield 430 is provided for the display of viewers=rating of aninteractive program. Referring now to FIG. 6, a diagram depicting aprocess for receiving viewer reactions to the interactive program andcalculating an audience approval system rating for an interactiveprogram in accordance with an exemplary embodiment of the presentinvention is shown. A moderator 100 generates an interactive program andtransmits the interactive program to an audience 102 as previouslydescribed. The audience includes a plurality of viewers, as exemplifiedby viewers 600, 602 and 603. Each viewer may have a different opinion ofthe quality of the interactive program; therefore, each viewer isprovided with an individual audience approval system button asexemplified by audience approval system buttons 606, 608, and 610. Eachviewer selects an audience approval system rating button correspondingto the viewer=s subjective rating of the interactive program. Theselection of an audience approval system button transmits acorresponding audience approval system signal to the moderator server(not shown) thus creating a plurality of audience approval systemsignals for evaluation by the moderator server. The moderator serverreceives the plurality of audience approval system signals and uses themto generate a single audience approval system rating signal andtransmits the audience approval system rating signal for display on themoderator=s interface (not shown).

In an audience approval system in accordance with an exemplaryembodiment of the present invention, an audience approval system signalcan take on three states, 612, 614, and 616, with each staterepresenting a viewer=s subjective opinion of the interactive program.In this embodiment, the three states are mapped to the correspondingnumeric values of “100”, “50”, and “0”, with “100” representing aviewer=s complete satisfaction with the interactive program, “50”representing the viewer=s partial satisfaction with the interactiveprogram, and “0” representing the viewer=s complete dissatisfaction withthe interactive program. Each of the plurality of audience approvalsystem signals are mapped to one of these numeric values. These numericvalues are used to generate an arithmetic mean representing the audienceapproval system rating of the interactive program. In the illustratedexample of FIG. 6, viewer 600 rates the interactive program at “100”,viewer 602 rates the interactive program at “50”, and viewer 604 ratesthe interactive program at “100”. These values are used by the moderatorserver to generate (618) an arithmetic mean 624 of the plurality ofmapped viewers=audience approval system signals. The arithmetic mean ispresented to the moderator as the audience approval system rating of themoderator=s interactive program. In one audience approval system inaccordance with an exemplary embodiment of the present invention, theaudience approval system rating is mapped to a color, with the numericvalue of “100” being represented in green, the numeric value of “50”being represented in yellow, and the numeric value of “0” beingrepresented in red.

FIG. 7 is a use case diagram depicting ways in which a moderator mayinteract with a system for creating an interactive program incorporatingviewer interactions in accordance with an exemplary embodiment of thepresent invention. A moderator 100 accesses the system in order tocreate (702) an interactive program. In one system for creating aninteractive program incorporating viewer interactions in accordance withan exemplary embodiment of the present invention, the moderator createsa talkshow that is a periodically broadcast interactive program.Creation of an interactive program may include selecting a theme for thetalk show, establishing a broadcast time, and creating a briefdescription of the talk show. This interactive program information isstored in a moderator database 230 (FIG. 2). The moderator database isused by a moderator server 210 (FIG. 2) to generate a to-be-describedprogramming guide.

The moderator also accesses the interactive program creation system tohost (704) an interactive program. While the moderator is hosting aninteractive program, the system provides facilities 706 for audiencemanagement allowing the moderator to restrict access to an interactiveprogram. As previously described, the system provides facilities for themoderator to block interactive messages from viewers in the audience.The system also provides a facility 708 for posting polls during theinteractive program. This allows a moderator to pose questions to theaudience in order to receive and aggregate viewers=opinions aboutvarious subjects during an interactive program as previously described.The system further includes facilities 710 for answering questionspresented by viewers to the moderator. As previously described, amoderator can receive questions from viewers and determine whether ornot to answer them. Additionally, the system provides an invitationfacility 712 for inviting viewers to participate in the interactiveprogram as a virtual guest as previously described.

The moderator may also access the interactive program creation system toperform (714) administrative tasks associated with moderating aperiodically presented interactive program. The interactive programcreation system provides facilities 718 for sending scheduling remindersto viewers about upcoming interactive programs. Such schedulingreminders may be transmitted to a viewer by email, to a viewer=spersonal pager, to a viewer=s wireless phone, or to a viewer=s personaldigital assistant. The interactive program creation system also includesfacilities 720 for a moderator to review metrics collected by the systemon a moderator=s interactive program.

FIG. 8 is a use case diagram depicting ways in which a viewer mayinteract with a system for creating an interactive program incorporatingviewer interactions in accordance with an exemplary embodiment of thepresent invention. A user accesses the interactive program creationsystem in order to search for (802) interactive programs. Theinteractive program creation system includes facilities 804 forsearching the interactive program creation system for interactiveprograms on particular topics that the viewer may be interested in. Theinteractive program creation system also includes browsing facilities806 allowing the viewer to examine an interactive program creationsystem directory of interactive programs in a hierarchal manner.

The viewer may also access the interactive program creation system toview 816 and become part of an interactive program. The interactiveprogram creation system includes facilities 817 allowing a viewer tointeract with embedded advertising. The interactive program creationsystem also includes facilities 818 allowing a moderator to poll viewersduring an interactive program as previously described. The interactiveprogram creation system also includes facilities 820 allowing a viewerto ask questions of the moderator and virtual guests as previouslydescribed. The interactive program creation system also includesfacilities 822 allowing a viewer to rate an interactive program aspreviously described.

The viewer may also access the interactive program creation system topersonalize (808) the viewer=s experience with the interactive programcreation system. The interactive program creation system includesfacilities 810 for submitting suggestions by the interactive programcreation system of interactive programs the viewer may be interested inbased on viewer preferences as included in a viewer profile andpreviously viewed interactive programs. The interactive program creationsystem further includes facilities 812 for creation of a list offavorite interactive programs used by moderators to send schedulingreminders to the viewer about upcoming interactive programs aspreviously described. The interactive program creation system alsoincludes facilities 814 allowing a viewer to create and edit a viewerprofile including topics of interest to the viewer. In one embodiment ofan interactive program creation system in accordance with the presentinvention, viewer profiles are stored in data files on the viewerclient. In another embodiment of an interactive program creation systemin accordance with the present invention, viewer profiles are stored ona central server and downloaded as XML documents to the viewer client asneeded.

FIG. 9 is a Web site diagram of an interactive program creation systemin accordance with an exemplary embodiment of the present invention. Aspreviously described, in one interactive program creation system inaccordance with an exemplary embodiment of the present invention, amoderator server hosts a Web site for accessing interactive programs byboth moderators and viewers. A user, such as a moderator or viewer,accesses the Web site via a log-in page 900.

FIG. 29 is a screen capture of an interactive program creation systemlog-in interface in accordance with an exemplary embodiment of thepresent invention. A user selects a register button 2900 to register aseither a viewer or a moderator. If the user is registering as a viewer,the user obtains a viewer identifier and a viewer password. If the useris registering as a moderator, the user obtains a moderator identifierand a moderator password. The identifiers and passwords are used by theuser to access the interactive program creation system on future visitsand can be stored in “cookies” on the client the user is using to accessthe interactive program creation system.

A user selects a log-in button 2902 to access the interactive programcreation system as a viewer or selects a moderator log-in button 2904 toaccess the interactive program creation system as a moderator. Theinteractive program creation system log-in interface further includes anupcoming program guide section 2906 for display of interactive programsthat are scheduled to be produced by their moderators in the next 24hours. The listings in the upcoming program guide section include apreviously described “mic” viewer rating 2908 and a category link 2910to a viewer interface where a viewer can find more interactive programssimilar to the listed interactive program.

Referring again to FIG. 9, if the user logs in as a viewer, the vieweris directed to a viewer home page 902. From the viewer home page, theviewer may access a registration process 904. Once registered, theviewer can access an edit profile process 906.

FIG. 10 is a screen capture of an edit profile viewer interface inaccordance with an exemplary embodiment of the present invention. Theedit profile viewer interface is used by a viewer to edit the viewer=spersonal information stored in the viewer=s profile. The edit profileviewer interface includes a viewer identification field 1000 for displayof the viewer=s identification and a password entry field for entry ofthe viewer=s password. In operation, a user enters a new password intothe password entry field and selects a “Submit and Continue” button 1003to change the viewer=s password. The viewer=s identification andpassword are associated together in the user database 232 (FIG. 9) foruse by the viewer as the viewer accesses different facilities of theinteractive program creation system.

The edit profile viewer interface further includes personal informationentry fields, such as a first name entry field 1004 and a last nameentry field 1006. Alternatively, the viewer may enter an anonymousviewer name rather than the viewer=s real name in order to hide theviewer=s identity. In operation, a viewer enters their personalinformation and selects the “Submit and Continue” button to store theviewer=s personal information in the viewer=s database. The personalinformation is used by the interactive program creation system topersonalize the viewer=s experience while using the interactive programcreation system.

The edit profile viewer interface further includes a viewer profileentry field 1008. In operation, the viewer enters the viewer=s interestsinto the viewer profile entry field. The entered viewer profile isstored in the viewer database for use by the interactive programcreation system to make suggestions of interactive programs that theviewer may want to participate in. To make suggestions, the viewerprofile is queried and key terms are identified. For example, theillustrated viewer profile 1010 includes the key terms “sports”,“movies”, and “music”. The interactive program creation system comparesthese key terms to key terms included in the moderator database 230(FIG. 9) by moderators who have created interactive program profiles. Ifa match is found, the interactive program creation system suggests thematching interactive program to the viewer.

In an embodiment of an interactive program creation system in accordancewith the present invention, interactive programs are suggested to theviewer in a “pay-for-placement” mode. For example, if a plurality ofinteractive programs match the viewer=s profile, the first interactiveprogram suggested to the viewer is the interactive program whosemoderator has paid the interactive program creation system=s operatorthe most for being placed first.

The edit profile viewer interface further includes a viewer emailaddress entry field 1012, viewer city 1016, viewer state 1018, viewerzipcode 1020, and viewer country 1022 entry fields. In operation, theviewer enters their email and address location and selects the “Submitand Continue” button to store the viewer address information in theviewer database. Moderators using the interactive program creationsystem can use the viewer address information to notify a viewer whenthe moderator=s interactive program is to be broadcast. Additionally,the viewer may optionally select an “Include in Directory” button 1022in order to exclude the viewer=s address information from view by themoderators.

The edit profile viewer interface further includes an interactiveprogram search entry field 1024. A viewer uses the search entry field toenter a search term used to search the moderator database forinteractive programs with terms matching the search term. The editprofile viewer interface further includes a category or hub selectionfield 1026. A viewer may select an individual category, such as “News”1027 to be taken to a hub process for accessing interactive programsrelated to the selected category.

The edit profile viewer interface further includes an advertisingsection for display of “click-through” style banner ads. A user selectsone of the banner ads to be transferred to an advertiser=s or retailer=sWeb site. The edit profile viewer interface further includes a featuresection 1030 for display of links to featured hubs. By selecting afeatured hub link, a viewer can quickly access a hub process foraccessing interactive programs related to the selected feature category.

FIG. 11 is a screen capture of a hub viewer interface in accordance withan exemplary embodiment of the present invention. The screen capture isof an exemplary “News” 1100 hub. Other hubs may be created for othersubjects such as “home improvement” and the like. The hub includes linksfor accessing by the viewer, interactive programs whose themes arenational news 1102, world news 1104, business news 1106, sports news1108, weather news 1110, and entertainment news 1112. In operation, aviewer selects one of the links to access a specialized program guideincluding links to interactive programs with a theme corresponding tothe link title.

Referring again to FIG. 9, a viewer may access an interactive programelectronic program guide process 908. A viewer uses the program guideprocess to add upcoming interactive programs to a viewer=s interactiveprogram list that is stored in the viewer database 232.

FIG. 12 is a screen capture of a program guide viewer interface inaccordance with an exemplary embodiment of the present invention. Theprogram guide includes a plurality of listings for interactive programsavailable for viewing 1200. Each of the listings includes a title andbrief description field 1201, a current subject field 1202, a time field1204, and a listing selection button 1206. In operation, a viewer readsthe listing title and brief description to determine if the viewer wantsto participate in the interactive program. The viewer reads the timefield to determine when the next interactive program will be available,and reads the current subject field to determine what the next subjectto be discussed during the interactive program will be. The viewer thenselects the listing selection button and the “Add Selected to My TalkShows” button 1208 to add the listing to a viewer=s list of interactiveprograms that the viewer wants to participate in. The list is maintainedin the viewer=s database 232 (FIG. 9).

The program guide viewer interface further includes an interactiveprogram rating 1210 display. The interactive program rating is a viewerrating determined from viewer responses to the interactive program. In aprogram guide in accordance with an exemplary embodiment of the presentinvention, the viewer rating is expressed in terms of “mics” (short for“microphone”). The greater the number of mics, the higher the viewerrating of the interactive program. For example, the maximum number ofmics an interactive program may receive is five mics for a popularprogram. A minimally popular interactive program may only receive onlyone mic.

The program guide viewer interface further includes a link to aninteractive program suggestion 1210 process. As previously described,the interactive program creation system uses a viewer=s profile storedin the viewer database and interactive program descriptions stored inthe moderator database to suggest interactive programs that the viewermay be interested in.

In another program guide viewer interface in accordance with anembodiment of the present invention, the viewer may also access archivedprograms in an “on-demand” mode. In an on-demand mode, the program guideincludes previously broadcast and archived interactive programs.

Referring again to FIG. 9, a viewer may access the previously describedsearch facilities 910 of the interactive program creation system fromthe program guide. Additionally, the program guide provides a link to animmediate program guide 912 for listing interactive programs that arescheduled to be broadcast within the next day. A viewer may also accessa browsing facility 914. Using the browsing facility, a viewer can viewa hierarchal list of interactive programs from which the viewer canselect an interactive program to participate in.

The viewer may access a specific interactive program=s home page 916 ina variety of ways, such as: selecting a link to an interactive programfrom the previously described search facility 910; immediate programguide 912; browsing facility 920; and suggestion facility 918.Additionally, included in a moderator database 230 is a schedule ofupcoming interactive program broadcasts. The schedule of upcominginteractive program broadcasts may be accessed by the viewer using anupcoming interactive program facility 920. From an interactive program=shome page, a viewer may join a previously described actual interactiveprogram 922. Each interactive program is hosted by a previouslydescribed moderator server 210.

FIG. 28 is a screen capture of an interactive program home viewerinterface in accordance with an exemplary embodiment of the presentinvention. An interactive program home viewer interface is generated bya moderator server using information entered by a moderator and storedin the moderator database. The interactive program home viewer interfaceincludes an identifier field 2800 for display of an interactiveprogram=s identifier. An interactive program description field is usedto display a brief description of the interactive program as describedby the moderator.

The interactive program home viewer interface further includes aschedule section 2804 where the schedules of upcoming transmissions ofthe interactive program are listed. An upcoming listing 2805 includes areminder button 2806. In operation, a viewer selects the reminder buttonfor a listing and an entry is made by the interactive program creationsystem to the previously described viewer profile. The entry is used totransmit notifications to the viewer when the interactive program isabout to be transmitted.

The interactive program home viewer interface further includes apreference addition button 2808 that the viewer selects to have theinteractive program added to the previously described viewer=s list ofinteractive program preferences. A contact button 2810 is provided foruse by a viewer in sending an email message to a moderator. A searchbutton 2812 is provided for the viewer to search for additionalinteractive programs that are related thematically to the interactiveprogram represented in the interactive program home viewer interface.

The interactive program creation system further includes a facility 926for retrieving archived previously broadcast interactive programs forviewing. A viewer uses the archive facility to view transcripts andenhanced content of interactive programs that the viewer may have missedor wants to view again. In one facility for retrieving archivedinteractive programs for viewing in accordance with an exemplaryembodiment of the present invention, the archived interactive programscan be viewed on an “on-demand” or “pay-for-view” basis.

In another facility for retrieving interactive programs for viewing inaccordance with an exemplary embodiment of the present invention, thearchived interactive programs may be accessed for presentation inconjunction with other content such as in a syndication mode. Forexample, an archived interactive program whose theme was discussionabout a particular product can be linked to an advertisement for thatproduct on a separate Website. As another example, an interactiveprogram with a topical theme may be syndicated by a live news Website.

FIG. 13 is a screen capture of an interactive program archive viewerinterface in accordance with an exemplary embodiment of the presentinvention. An archive viewer interface includes a plurality of archivelistings of previously broadcast and archived interactive programs 1300with each archive listing 1301 including a title field 1302, a subjectfield 1304, and a date field 1306. In operation, a viewer reviews theplurality of archive listings and selects the archive listingcorresponding to an archived interactive program the viewer wants toview. After selecting the archive listing of the archived interactiveprogram, the viewer views a replay of the archived interactive programcorresponding to the archive listing. In an interactive program archiveviewer interface in accordance with an exemplary embodiment of thepresent invention, archived listings are organized by themes, such asthe illustrated “The Gardening Center” 1308 that is an archive with agardening theme. In other interactive program archive viewer interfacesin accordance with an exemplary embodiment of the present invention, anentity, such as a corporation, sponsors the archive as a form ofadvertising. For example, a brokerage may sponsor an archive with afinancial theme or a hardware retailer may sponsor an archive with a“do-it-yourself” theme.

Referring again to FIG. 9, the interactive program creation systemfurther includes facilities 924 for a moderator to create an interactiveprogram. A moderator uses the facility to create an interactive programby entering information about the interactive program and theinformation is stored in the moderator database 230.

FIG. 14 is a screen capture of a moderator interface for an interactiveprogram authoring tool in accordance with an exemplary embodiment of thepresent invention. The interactive program creation moderator interfaceincludes an interactive program identifier display field 1400 fordisplaying the interactive program=s name. A moderator uses aninteractive program identifier entry field 1402 to enter the name of theinteractive program. The interactive program creation moderatorinterface further includes a description entry field 1404 for entry bythe moderator of a brief description of the interactive program and acategory/genre selection menu 1408 for selection by the moderator of acategory under which the interactive program will be placed. Theinteractive program creation moderator interface further includes a hostname entry field 1406 for entry of the moderator=s name. The interactiveprogram creation moderator interface further includes a broadcastscheduling selection menu 1410, day selection buttons 1412, and a timeselection menu 1414 for selection of the broadcast time of theinteractive program. In operation, a moderator enters in an interactiveprogram name, interactive program description, and host name. Themoderator selects a category, a broadcast schedule, the days of the weekthe interactive program will be broadcast, the time the interactiveprogram will be broadcast, and selects a “Submit and Continue” button1418 to store the entered and selected interactive broadcast informationin the moderator database 230 (FIG. 9). The moderator can also select an“Include in Program Guide” button 1416 to include the interactiveprogram information in the previously described program guide.

FIG. 39 is a screen capture of an interactive program authoring wizardin accordance with an exemplary embodiment of the present invention.Within the interactive program authorizing tool is a “wizard” whichallows a host/moderator to easily set up a new interactive program. A“wizard” is a software tool that guides a user through the configurationof a software application. A wizard typically includes a set ofselectable configuration templates for use by a user and a dialog thatguides the user through the configuration process. The interactiveprogram authoring wizard can operate as a standalone application and maybe used through a Web browser. The interactive program authoring wizardfeatures beginner, intermediate, and expert levels and offers the easeof use of other mass market authoring tools making it easy for potentialmoderators to get started hosting their own interactive programs. Duringa setup process, the moderator selects from several preset genresallowing the moderator to quickly set the look and feel of theirinteractive programs. For example, these presets may include formats fordefining interactive programs such as a news and perspective program, asports program, a business program, a human interest program, ado-it-yourself program, etc. The interactive program authoring tool 3900has a “genre/theme” link 3902 selectable by the moderator to bring up alist of themes 3904 that the moderator selects from. By selecting atheme, the moderator selects a configuration for the interactive programestablishing backgrounds, layouts, and interactive areas for aninteractive program. The moderator selects a theme and the selects a“submit and continue” button 3906 to configure the interactive programusing a themed interactive program template.

The interactive program creation moderator interface further includes alink to a broadcast schedule editing facility 1418. A moderator usesthis link to access a more detailed interactive program scheduling entryfacility. The interactive program creation moderator interface furtherincludes a link to an add co-hosts facility 1420. A moderator uses thislink to access a facility for adding a co-host or additional, butsubordinate moderator, such as a side-kick, a panel of experts, or aspecial guest to the interactive program.

The interactive program creation moderator interface further includes alink to a theme facility 1422. A moderator uses this link to access afacility for assigning the interactive program to a thematic categoryfor easier classification of interactive programs for browsing by aviewer.

The interactive program creation moderator interface further includes alink to a send reminders facility 1420. A moderator uses this link toaccess a facility for transmitting reminders to viewers. The interactiveprogram creation system uses the previously described viewer=s lists ofinteractive programs to send notifications to each of the viewers whohave added the moderator=s interactive program to their list ofinteractive programs. Reminders may be sent by various communicationlinks such as email, voice mail, and pager as agreed to by the viewer.

FIG. 32 is a process flow diagram of a viewer notification process inaccordance with an exemplary embodiment of the present invention. Amoderator server receives (3200) an interactive program identifier froma moderator for which the moderator would like to transmit reminders toviewers. The moderator server reads (3201) viewer preferences frompreviously described viewer profiles 3202. Included in a viewer=sprofile is a list of interactive programs for which the viewer wants tobe reminded of upcoming transmissions. If the moderator serverdetermines (3204) that a viewer wants to receive notifications for theidentified interactive program, the moderator server generates (3206) aviewer notification 3208 and transmits the viewer notification to theviewer. The moderator server then determines (3210) if all viewers havebeen processed. If not, the moderator server continues searching forviewers wishing to receive notifications. The moderator server continuesprocessing until all viewers wishing to receive notifications of thetransmission of the interactive program have been notified.

In one viewer notification process in accordance with an exemplaryembodiment of the present invention, a viewer notification istransmitted as an email message to the viewer. The viewer may retrievethe email message by any suitable device or client such as a personaldigital assistant, a personal computer, etc. In another viewernotification process in accordance with an exemplary embodiment of thepresent invention, the viewer notification is in the form of an audioreminder transmitted to a viewer=s voice mail system or directly to aviewer=s telephone. In another viewer notification process in accordancewith an exemplary embodiment of the present invention, the viewernotification is in the form of an instant message that is transmitted toa viewer if the viewer is currently on a system that is accessible tothe moderator server.

Referring again to FIG. 14, the interactive program creation moderatorinterface further includes a link to a traffic report facility 1426. Amoderator uses this link to access a facility for generating reportsdescribing the user interactions with an interactive program broadcastby the moderator.

FIG. 15 is a screen capture of a moderator interface for an interactiveprogram reporting tool in accordance with an exemplary embodiment of thepresent invention. In general, a moderator uses an interactive programreporting tool to specify reports generated using data recorded aboutviewer interaction with an interactive program broadcast and stored inthe moderator database as previously described. Additionally, theinteractive program reporting tool is used by a moderator to generate areport regarding viewer access of archived interactive programs so thatthe moderator can determine the popularity of old content that waspreviously broadcast. The moderator can specify reports to analyze thedata in a variety of ways using a variety of data mining techniques toyield customizable, comprehensive, and flexible reports. Additionally,viewer identifications associated with the viewer interaction data canbe combined with the previously described viewer profile data togenerate reports on the demographics and geographic locations of theviewers participating in an interactive program. In this mode, aviewer=s privacy may be protected by aggregating the viewer data orstripping viewer identifiers from any data viewable by a moderator. Thereporting tool moderator interface includes a select group report menu1500 for selecting a specific set of reports to view.

The reporting tool moderator interface further includes entry fields forselection of types and formats of viewer interaction reports. Each ofthese sections is typified by a selection button 1504 and a formatselection pull-down menu 1506. A moderator selects a selection button toinclude the specific type of report in a viewer interaction report anduses the format pull-down menu to select the format of the specificreport. The types of reports the moderator can include in a viewerinteraction report include a peak usage report 1504. A peak usage reportis a report indicating the peak usage of the interactive program by theviewers.

A moderator can select a total traffic report 1508. A total trafficreport is a report depicting the total number of viewers and viewerinteractions with the interactive program over the broadcast time of theinteractive program.

A moderator can select a breakdown by user report 1512. A breakdown byuser report is reported depicting the interactions of single viewers.

A moderator can select a breakdown by demographic report 1516. Abreakdown by demographic report is a report depicting viewerinteractions by viewers fitting certain demographic descriptions.

A moderator can select a breakdown by geography report 1520. A breakdownby geography report is a report depicting where viewers participating inan interactive program are physically located.

A moderator can select a visitor path report 1524. A visitor path reportis a report depicting where viewers are located on a network.

A moderator can select a referral report 1528. A referral report is areport depicting from which locations viewers have been referred fromsuch as an external Web site, etc.

A moderator can select a polling data report 1534. A polling data reportis a report depicting the results of polls taken by a moderator duringan interactive program.

A moderator can select a “clicks by a viewer” report 1538. A clicks by aviewer report is a report depicting how many selections viewers makeduring an interactive program.

A moderator can select a feature utilization report 1542. A featureutilization report is a report depicting how many different featuresviewers are using during an interactive program.

A moderator can select a chat or interactive messaging report 1538. Achat or interactive messaging report is a report depicting how manyinteractive messages are being sent between the audience members duringan interactive program.

FIG. 16 is a screen capture of a moderator interface for a viewerinteraction report generated in accordance with an exemplary embodimentof the present invention. The report moderator interface includes areport selection pull down menu 1600 for immediately viewing sections ofthe report without having to scroll through each of the reports.

Graph 1610 is a graph of click-through activity versus time for aninteractive program. During an interactive program, individual instancesof viewers selecting advertising banners are recorded in the previouslydescribed moderator database associated with the time of the selectionof the advertising banner. An interactive program creation system canuse the recorded advertising selection events and their associated timesto generate the click-through activity versus time graph.

Graph 1612 is a geographically based graph depicting the geographiclocation of viewers participating in an interactive program. The viewersparticipating in an interactive program are recorded in the previouslydescribed moderator database. Each recorded viewer=s geographic locationcan be determined from the previously described viewer=s profile or bymapping the viewer=s IP address to a specific geographic location. Aninteractive program creation system can use the recorded vieweridentifications and viewer geographic locations to generate a graphicillustrating the geographic locations of the viewers.

The viewer interactivity reports are used by a moderator to determinethe effectiveness of an interactive program. For example, the moderatorcan use the demographic charts to determine if the interactive programis reaching an audience with the demographic profile desired by themoderator. As a further example, the moderator can determine theeffectiveness of various portions of an interactive program by analyzingparticipant interaction with the interactive program over time. Spikesin interactive message transmissions from the participants may indicateportions of the interactive program that the participants find mostengaging.

FIG. 17 is a screen capture of a moderator interface for an advertisingreport generated in accordance with an exemplary embodiment of thepresent invention. A revenue generation graphic 1702 illustrates therelative amounts of revenue generated from the viewers participating inan interactive program. As the viewers participate in the interactiveprograms, the viewers=interactions with links and advertising bannersincluded in the interactive program are recorded in the moderatordatabase as previously described. An interactive program creation systemcan use the recorded viewer interactions to generate a graphic showingthe relative contributions to total revenue by each of several possibleviewer interaction modes. For example, in the illustrated graph,comparisons are made for selection of links 1704, selection of embeddedads 1706, selection of banner ads 1708, and selection of other types ofads 1710 and 1712, as a percentage of total revenue.

An advertising geographical graphic 1716 indicates the geographic viewerlocations of viewers participating with the interactive program. As theviewers participate in the interactive programs, theviewers=interactions with links and advertising banners included in theinteractive program are recorded in the moderator database as previouslydescribed. Additionally, a viewer identification for each viewerinteraction is stored in the moderator database. Each viewer=sgeographic location can be determined from the previously describedviewer=s profile or by mapping the viewer=s IP address to a specificgeographic location. An interactive program creation system can use therecorded viewer interactions and viewer identifications to generate agraphic illustrating the geographic locations of advertising revenuegeneration. An interactive program creation system can use viewerinteraction data, viewer identification data, and viewer profile data togenerate a revenue by age graphic 1718 or a revenue by demographicdescription graphic 1720.

FIG. 31 is a process flow diagram of an interactive program reportgeneration process in accordance with an exemplary embodiment of thepresent invention. A moderator server determines (3100) a set of viewerdemographics for an interactive program=s viewing audience by using theinteractive program=s history 3102 along with a set of viewer profiles3104. For each viewer that participated in the interactive program whenthe interactive program was transmitted, the moderator server extractsthe individual viewer=s stored viewer profile. The moderator serveraggregates the individual viewer profiles to generate viewerdemographics 3106 for the interactive program transmission. Themoderator server generates (3108) a graphical representation 3110 of theviewer demographics, for example a bar graph, and adds 3112 thegraphical representation to a report 3114. The moderator serverdetermines (3116) if all requested graphics have been generated. If not,the moderator selects the next graphic to generate and repeats theprocess thereby adding a new graphic to the report. Once all of thegraphics have been added to the report, the moderator server transmits(3118) the report to the moderator requesting the report.

FIG. 18 is a database entity relation diagram for a moderator databasein accordance with an exemplary embodiment of the present invention. Thedatabase entity relation diagram is an expression of meta datadescribing how the data in the viewer and moderator databases arerelated. The moderator database includes information used to organizeinteractive programs created and administered by moderators andhistories of interactive programs including viewer interactions with theinteractive programs. Interactive programs are organized withincategories as previously described. Category information is used tocreate hubs of viewer interactions. A super category 1800 is associatedwith many categories 1802 but each category is only associated with onesuper category. A category or hub is associated with many interactivemessage rooms 1804 which is in turn associated with many interactivemessage lines. A viewer profile is associated with many interactivemessage lines. In operation, a plurality of viewers select a categoryand enter an interactive message room associated with the category.Viewer submissions within an interactive message room are used togenerate individual interactive message lines that are viewed by theviewers as they exchange interactive messages.

A category is associated with a plurality of polls 1810 with each pollbeing associated with a plurality of poll responses 1812. A viewerprofile is associated with a plurality of poll responses. In operation,viewers respond to a poll associated with a specific category and theviewers=responses are recorded in the moderator database for futureanalysis.

A category is associated with a plurality of interactive programs 1814and each interactive program is associated with a plurality ofinteractive program broadcasts or instances 1816. Each interactiveprogram broadcast is associated with a plurality of reminders 1818 witheach reminder being associated with a single user profile. In operation,a moderator determines an interactive programming schedule ofinteractive program broadcasts and generates reminders that aretransmitted to viewers who have expressed an interest in being remindedof the interactive program=s broadcasts.

A category is associated with a plurality of message boards 1820 witheach message board being associated with a plurality of message boardthreads 1822. Each message board thread is associated with a pluralityof message board messages 1824 with each message board message beingassociated with a single viewer profile. A viewer profile may beassociated with a plurality of message board messages. In operation,viewers leave messages grouped into message board threads on messageboards maintained by moderators. The messages may be for the moderatorsor may be for other viewers.

Keywords 1826 are stored in the moderator database so that viewers cansearch for categories 1802 and links 1832 associated with thecategories. Additionally, all user inputs can be indexed and tagged tobecome interactive triggers that are linked to interactive programsserved by the moderator server. Category keywords 1828 are associatedwith a plurality of categories. In operation, a viewer enters a categorykeyword into a previously described search facility and a set ofcategories for use by the viewer are generated that are associated withthe category keyword. Link keywords 1830 associated with links tooff-site resources are also stored in the moderator database. Inoperation, a viewer enters a link keyword in the previously describedsearch facility and a set of links associated with the link keyword isgenerated for use by the viewer.

Viewer profiles are associated with a plurality of viewer histories1834. In operation, a viewer history is recorded of a viewer=sinteractions when accessing an interactive program creation system whilenot actually participating in an interactive program.

FIG. 19 is a screen capture of a viewer interface for a non-moderatorbased interactive program associated with a broadcast in accordance withan exemplary embodiment of the present invention. As previouslydescribed, an interactive program can include broadcast content from asource not associated with the interactive program, such as a broadcastfrom a commercial broadcaster. In this case, an interactive programincludes participant commentary but may not include moderatorcommentary. The viewer interface for a non-moderated interactive programincludes a broadcast content section 1900 for display of non-interactivebroadcast content. The viewer interface for a non-moderated interactiveprogram further includes a viewer interactive message section 1902 fordisplay of viewer interactive messages transmitted to a moderator server(not shown). The viewer interface for a non-moderated interactiveprogram includes a viewer interactive message entry field for entry ofviewer interactive messages. In operation, a viewer views thenon-interactive broadcast content, enters interactive messages into theinteractive message entry field and selects the “enter” button 1906 tosubmit the interactive message to the moderator server. The viewer=sentered interactive message is then combined with otherviewers=interactive messages to generate an interactive message displaythat is shown in the interactive message display section.

In an interactive program creation system in accordance with anembodiment of the present invention, the broadcast program issynchronized to the interactive program using synchronization signalsincluded in the interactive program signals. In this way, an interactiveprogram may be synchronized with an external broadcast.

FIG. 20 is a screen capture of a viewer interface for a broadcastprogram guide in accordance with an exemplary embodiment of the presentinvention. The broadcast program guide viewer interface includes a dateselection/display field 2000 and a time selection/display field 2002. Aviewer uses the date selection/display field and time selection/displayfield to select and display a date and time for which the viewer wantsto view scheduled broadcasts. Scheduled broadcasts for the selected dateand time are shown in a listings section 2003. The listings sectionincludes a broadcast channel column for display of the broadcast channelof a particular program, and a program information column 2005 fordisplay of information about a scheduled program.

A current broadcast content section 2006 includes a display of broadcastcontent that is currently being broadcast on a selected broadcastchannel. Information about the broadcast content is shown in a broadcastcontent information section 2007 formatted as a televised programmingguide. The broadcast information includes a broadcast channel, a title,a broadcast time, and a description, if available, of the broadcastcontent. If a microphone indicator 2008 is shown next to a listing of ascheduled broadcast 2010, this indicates that the scheduled broadcast isavailable as an interactive program including broadcast content aspreviously described. In operation, a viewer can select an interactiveprogram that is currently being broadcast and view the broadcast contentin the current broadcast content section. A viewer selects a “switch tofull screen” button 2012 to participate in a currently broadcastinteractive program corresponding to the currently broadcast contentdisplayed in the current broadcast content section.

FIG. 21 is a screen capture of a viewer interface for an interactiveprogram incorporating Web content in accordance with an exemplaryembodiment of the present invention. A viewer initiates participationwith an interactive program displayed in an interactive program reducedscreen viewer interface 2100. The reduced screen viewer interfaceincludes a link 2101 to a Web page 2102 that includes additionalinformation about the interactive program=s theme. For example, the linkmay be to an eCommerce Web site where a viewer may purchase a book thatis currently being discussed by a moderator and viewers participating inthe interactive program. The reduced screen viewer interface includes astage interaction section 2104 for display of interactive messagesexchanged between a moderator and a virtual guest or invited viewer aspreviously described. The reduced screen viewer interface furtherincludes an audience interactive message display section 2106 fordisplay of interactive messages exchanged between viewers as previouslydescribed. The reduced screen viewer interface further includes aninteractive message entry field 2108. In operation, a viewer enters aninteractive message into the interactive message entry field and selectsthe “Enter” button 2110 to transmit the interactive message to amoderator server (not shown) for inclusion in the stage or audienceinteraction display section.

The reduced screen viewer interface further includes interactive programrating buttons 2112 for viewer rating of an interactive program aspreviously described. In operation, a viewer selects one of theinteractive program rating buttons to indicate the viewer=s satisfactionwith the interactive program. Viewer ratings from a plurality of viewersare aggregated together and displayed to the moderator as previouslydescribed.

A moderator uses a reduced screen viewer interface to create acontextual commerce application using an interactive program. Themoderator uses the interactive program to build a community from anaudience attracted to the subject matter of the interactive program,such as a product line or a series of books. The moderator then linksthe reduced screen viewer interface to a location where a viewer canmake a purchase of a product or item related to the subject matter of aninteractive program. In addition, archived interactive programs can beaccessed in an “on-demand” mode to be linked to an e-commerce Website inorder to have a continually available sales tool such as an“infomercial” or testimonial for a product or item.

FIG. 22 is a screen capture of a viewer interface for an interactiveprogram incorporating Web content in accordance with another exemplaryembodiment of the present invention. A viewer initiates interaction witha previously described reduced screen viewer interface 2204 for aninteractive program by selecting a link 2202 included in a Web page2200. For example, a seller offering items on an auction site may be amoderator for an interactive program in order to discuss the offereditems with participating viewers. In this case, the seller includes alink to an interactive program for which the seller serves as amoderator.

FIG. 23 is a screen capture of a viewer interface for a facility tomanage a viewer=s personal favorite interactive programs in accordancewith an exemplary embodiment of the present invention. The personalfavorite viewer interface includes a listings display section 2300 fordisplay of one or more listings 2301. Each listing includes a viewerrating field 2302 for display of previously described viewer ratings ofan interactive program displayed in the listing. The listing furtherincludes a name field 2304 for display of an interactive program=s name,a next broadcast field 2306 for display of the interactive program=snext broadcast, a reminder button 2308, and a delete button. Inoperation, a viewer selects the reminder button to receive previouslydescribed reminders from a listed interactive program=s moderator andselects an “update settings” button to transmit the reminder request toa moderator server (not shown). To delete an interactive program fromthe viewer=s personal favorite list, the viewer selects the deletebutton and selects the update settings button to delete a listedinteractive program to delete the listed interactive program.

FIG. 24 is a screen capture of a viewer interface for a facility tosuggest programs to a viewer in accordance with an exemplary embodimentof the present invention. The suggested program viewer interfaceincludes a suggested interactive program listing section 2400. Asuggested interactive program listing includes a field for display of apreviously described viewer rating 2404, a field for display of aninteractive program=s name and brief description 2406, a next broadcastfield 2408 for display of an interactive program=s next display time,and an “add” button for adding a listed interactive program to theviewer=s list of favorite interactive programs. In operation, a viewerselects the add button for a listed interactive program and selects an“Add Selected to My Interactive Programs” button 2412 to add a listedinteractive program to the viewer=s previously described favoriteinteractive program.

FIG. 25 is a deployment diagram of a process for conversion and deliveryof interactive programs via an interactive television network inaccordance with an exemplary embodiment of the present invention. Amoderator server 210 receives participant comments and moderator contentfrom an audience and a moderator and generates interactive program fortransmission over the Internet 202 to a viewer client 212 as previouslydescribed.

The same interactive program can be transmitted over a conventionalinteractive television (iTV) network as well. The moderator servertransmits the interactive program to an iTV server 2500 and the iTVserver generates iTV content 2502 from the interactive program. The iTVcontent is transmitted via communications network 2504 to an iTV signalprocessor 2506. The iTV signal processor receives the iTV content anduses the iTV content to generate iTV signals for transmission to an iTVenabled television 2508 for viewing by a viewer. In this mode, triggersare generated from the interactive program signals and the viewer usesthe triggers to participate in the interactive program, such as throughthe use of tags associated with the triggers included in the iTVsignals=Vertical Blanking Interval (VBI), and the viewer=s comments aretransmitted via a back channel 2510 to the moderator server. In thisway, a viewer can use either an iTV enabled television or a viewerclient to participate in an interactive program as previously described.

FIG. 33 is a deployment diagram of a locally hosted moderator server inaccordance with an exemplary embodiment of the present invention. Amoderator server 210 implementing the previously described interactiveprogram creation facilities is hosted by a local host 3300. The localhost may also host the previously described moderator client 204. Inthis embodiment, the locally hosted moderator server is operably coupledto a plurality of previously described viewer clients, as exemplified byviewer clients 214 a and 214 a, via previously described communicationsnetwork 202. The moderator server is further coupled to an interactiveprogram server 3302 via the communications network. The interactiveprogram server is operably coupled to the previously described moderatordatabase 230 and viewer database 232.

In operation, the locally hosted moderator server is used by a moderatorto create an interactive program for transmission to the viewer clientsand moderator client as previously described. In this embodiment, viewerinformation is stored in the viewer database, moderator information isstored in the moderator database and the moderator server and the viewerclients access the information via the interactive program server. Thelocal host may be any type of programmable device capable ofbidirectional communication with other devices over a communicationsnetwork. For example, the local host can be a game console, or apersonal computer, or a set-top-box, etc.

FIG. 26 is a hardware architecture diagram of a data processing systemsuitable for use as a moderator server host in accordance with anexemplary embodiment of the present invention. A microprocessor 2600,including a Central Processing Unit (CPU) 2610, a memory cache 2620, anda bus interface 2630, is operatively coupled via a system bus 2635 to amain memory 2640 and an I/O control unit 2645. The I/O interface controlunit is operatively coupled via an I/O local bus 2650 to a disk storagecontroller 2695, and a network communications controller 2680. Acommunications device 2696 is operatively coupled to the networkcommunications controller and is adapted to allow software objectshosted by the general purpose computer to communicate via a network withother software objects.

The disk storage controller is operatively coupled to a disk storagedevice 2655. Computer program instructions 2697 implementing apreviously described moderator server are stored on the disk storagedevice until the microprocessor retrieves the computer programinstructions and stores them in the main memory. The microprocessor thenexecutes the computer program instructions stored in the main memory toimplement the moderator server.

Although this invention has been described in certain specificembodiments, many additional modifications and variations would beapparent to those skilled in the art. It is therefore to be understoodthat this invention may be practiced otherwise than as specificallydescribed. Thus, the present embodiments of the invention should beconsidered in all respects as illustrative and not restrictive, thescope of the invention to be determined by any claims supportable bythis application and the claims' equivalents.

What is claimed is:
 1. A method for generating a user-generatedinteractive program hosted by a moderator for transmission over atelevision broadcast network to a plurality of viewers, comprising:dynamically extracting captions and program information from a broadcastmedia content by an intelligent caption and program informationextractor; dynamically organizing, semantic tagging, time coding, andputting the captions and program information in a media content databaseby the intelligent caption and program information extractor; coupling amoderator server to a communications network and the media contentdatabase; coupling a moderator client for use by the moderator and aplurality of viewer clients for use by the plurality of viewers to themoderator server through the communications network; dynamically gettingthe organized, semantic tagged, and time coded captions and programinformation by the moderator server from the media content database andtransmitting the organized, semantic tagged, and time coded captions andprogram information to the moderator client; editing the captions by themoderator using the moderator client; generating moderator comments bythe moderator using the moderator client; editing viewer comments forviewing by the plurality of viewers by the moderator using the moderatorclient; transmitting the organized, semantic tagged, and time codededited captions and program information, moderator comments, and editedviewer comments from the moderator client to the moderator server andreceiving the edited viewer comments, the moderator comments, and theorganized, semantic tagged, and time coded captions and programinformation at the moderator server; dynamically generating theuser-generated interactive program by the moderator server utilizing thereceived moderator comments, the received edited viewer comments, thereceived organized, semantic tagged, and time coded edited captions andprogram information, and the media content, wherein the dynamicallygenerating the user-generated interactive program comprises: processingthe received moderator comments, the received edited viewer comments,and the received organized, semantic tagged, and time coded editedcaptions and program information; generating viewer response and captioncontent based on a collaboration and interaction of the processedmoderator comments, the processed viewer comments, the processed programinformation, and the processed captions; and merging the viewer responseand caption content based on the collaboration and interaction of theprocessed moderator comments, the processed viewer comments, theprocessed program information, and the processed captions with the mediacontent; and transmitting the user-generated interactive program by themoderator server to viewer televisions through the television broadcastnetwork.
 2. The method of claim 1, wherein the plurality of viewerscommunicate with the moderator through a telephony network, the methodfurther comprising: coupling the moderator server to the telephonynetwork; receiving the viewer comments by the moderator server from theviewer clients through the telephony network; and transmitting theviewer comments by the moderator server to the moderator client throughthe telephony network.